package com.tmxk.days01.demo3_pets_wmh;

/**
 * 生活中宠物商城
 * Dog   静态特征(属性)昵称      年龄   种类   形状   动态行为(方法) 叫    看门
 * Cat   静态特征(属性)昵称     年龄   种类   颜色    动态行为(方法) 叫     捉老鼠
 * Bird  静态特征(属性)昵称     年龄   种类   爱好   动态行为(方法) 叫     飞
 * Fish  静态特征(属性)昵称     年龄   种类    性别  动态行为(方法) 叫      游泳
 */

/**
 *  Dog   静态特征(属性)昵称      年龄   种类   形状   动态行为(方法) 叫    看门
 *
 */
public class Dog extends Pet {
    private String size;
    public String getSize() {
        return size;
    }
    public void setSize(String size) {
        this.size = size;
    }

    // 提供无参有参构造     Alt+/ : 快速生成无参构造
    public Dog() {
    }

    public Dog(String name) {
        //super();
        super.setName(name);
    }
    //Idea 快捷键生成 Alt + Insert
    //Eclipse快捷键生成  Alt + Shift + S : 倒数第三个是构造生成
    /**
     * 有参构造
     * @param name  昵称
     * @param age   年龄
     * @param size  大小
     */
    public Dog(String name, int age, String size) {
        //super();
        super(name);    		//构造赋值
        super.setAge(age);		//set赋值
        this.size = size;
    }

    public Dog(String name, int age, String strain, String size) {
        super(name, age, strain);
        this.size = size;
    }
    /**
     * 宠物叫的方法(无参无返回值 方法)
     */
    public void shout(){
        System.out.println(super.getName() + "在汪汪汪的叫");
    }
    /**
     * 宠物叫的方法(有参有返回值的方法)
     * @param name  形参,局部变量,宠物名称
     * @return  返回宠物叫的信息
     */
    public String shout(String name){
        return name + "在汪汪汪的叫";
    }

    /**
     * 看门方法
     */
    public void gatekeeper(){
        System.out.println( super.getName() + "擅长给主人看门");
    }

    /**
     * 宠物显示基本信息的方法
     */
    public void showInfo(){
        System.out.print(",形状是:" + this.size);
    }

    @Override
    public float calRent(int days) {
        return 0;
    }
}
